home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d16 / pbtool2d.arc / PBTOOLS.DOC < prev    next >
Text File  |  1990-10-29  |  78KB  |  1,565 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                      PB Tools 2.0
  18.  
  19.                         Programmer's Toolkit for PowerBASIC 2.1x
  20.  
  21.               Copyright (c) 1990 by Dave Navarro, Jr., All Rights Reserved
  22.  
  23.                            Shareware Release Documentation
  24.  
  25.         About PB Tools:
  26.  
  27.                   PB Tools is a group of PowerBASIC UNIT files of routines
  28.              to give PowerBASIC programmer's advanced routines for
  29.              windowing, DOS I/O, keyboard input, system identification,
  30.              and much more. PB Tools contains over 100 routines fully
  31.              tested for inclusion in your own programs.
  32.                   PB Tools is a shareware product.  Shareware means that
  33.              you as a user may use it for a trial period at no cost.  If
  34.              you continue to use the routines after the trial period, a
  35.              registration fee of $30 is suggested.  Anyone sending in $50
  36.              or more will recieve the latest version of PB Tools, a
  37.              printed and bound manual, and my undying gratitude.
  38.                   Commercial users must pay the registration fee, and all
  39.              commercial programs must include, either in documentation, or
  40.              displayed in the program itself, the copyright notice for PB
  41.              Tools.  Note -->  Commercial programs are any program that
  42.              you write and recieve payment for (including shareware).
  43.              All users are encouraged to send in a voluntary contribution
  44.              to help with development costs of future versions.
  45.  
  46.         Support:
  47.  
  48.              Support for PB Tools is provided by Dave Navarro, Jr. who may
  49.              be contacted at 474 Blossom Hill Rd , San Jose, Ca 95123 or
  50.              through The Bard's Lair BBS at 408-363-BARD with your
  51.              1200/2400/9600/V32/HST modem at 8 bits, No parity, 1 stop
  52.              bit.  Registered users will also have access to a technical
  53.              support voice number.
  54.  
  55.         Warranty:
  56.  
  57.              PB Tools is supplied "AS IS", and there is no warranty of any
  58.              type expressed or implied, including, without limitation, the
  59.              warranties of merchantability and of the fitness for any
  60.              purpose.  The author assumes no liability for damages, direct
  61.              or consequential, which may result from the use of PB Tools.
  62.  
  63.         Author's Note:
  64.  
  65.              These routines were fully tested on several 80286 and 80386
  66.              clone systems with monochrome, EGA, and VGA setups, and
  67.              operated without any problems.  All screen routines worked
  68.              fine in CGA mode on my VGA card, but I was unable to obtain
  69.              access to a system with an actual CGA card installed,
  70.              therefore, there are no routines for handling "snow" caused
  71.              by fast screen access in screen writes.  I have also left out
  72.              error handling routines in most of the library functions and
  73.              subs to make the routines run as fast as possible.
  74.  
  75.              I have included the source code to the demo supplied with PB
  76.              Tools.  I have done my best to add comments to help with the
  77.              usage for all commands.  If you are still having trouble,
  78.              please feel free to contact me, either through US Mail, or
  79.              The Bard's Lair BBS.
  80.  
  81.              Many of the DOS and EMS routines require a working knowledge
  82.              of interrupts and memory managment.  Using a routine
  83.              incorrectly can cause unknown results so do not use a routine
  84.              that you do not understand.
  85.  
  86.  
  87.              PB Tools 2.0                                        Page 3
  88.  
  89.  
  90.                                    Table of Contents
  91.  
  92.              About PB Tools . . . . . . . . . . . . . . . . . . . .   2
  93.              Support  . . . . . . . . . . . . . . . . . . . . . . .   2
  94.              Warranty . . . . . . . . . . . . . . . . . . . . . . .   2
  95.              Author's Note  . . . . . . . . . . . . . . . . . . . .   2
  96.              How to use PB Tools in your program  . . . . . . . . .   6
  97.              Command List for all UNIT files  . . . . . . . . . . .   7
  98.              PB Tools Routines
  99.                AddShadow  . . . . . . . . . . . . . . . . . . . . .  10
  100.                Attr . . . . . . . . . . . . . . . . . . . . . . . .  10
  101.                Back . . . . . . . . . . . . . . . . . . . . . . . .  10
  102.                Bin2Dec  . . . . . . . . . . . . . . . . . . . . . .  11
  103.                Box  . . . . . . . . . . . . . . . . . . . . . . . .  11
  104.                CapsOff  . . . . . . . . . . . . . . . . . . . . . .  11
  105.                CapsOn . . . . . . . . . . . . . . . . . . . . . . .  12
  106.                CapStat  . . . . . . . . . . . . . . . . . . . . . .  12
  107.                Center . . . . . . . . . . . . . . . . . . . . . . .  12
  108.                ChangeWin  . . . . . . . . . . . . . . . . . . . . .  12
  109.                CheckKey . . . . . . . . . . . . . . . . . . . . . .  12
  110.                ClearWin . . . . . . . . . . . . . . . . . . . . . .  12
  111.                CloseHandle  . . . . . . . . . . . . . . . . . . . .  13
  112.                CloseWin . . . . . . . . . . . . . . . . . . . . . .  13
  113.                ClrKBD . . . . . . . . . . . . . . . . . . . . . . .  13
  114.                Compress . . . . . . . . . . . . . . . . . . . . . .  13
  115.                CpuId  . . . . . . . . . . . . . . . . . . . . . . .
  116.                CurBot . . . . . . . . . . . . . . . . . . . . . . .  13
  117.                CurDisplay . . . . . . . . . . . . . . . . . . . . .  14
  118.                CurDir . . . . . . . . . . . . . . . . . . . . . . .  14
  119.                CurTop . . . . . . . . . . . . . . . . . . . . . . .  14
  120.                Date2Int . . . . . . . . . . . . . . . . . . . . . .  14
  121.                Decrypt  . . . . . . . . . . . . . . . . . . . . . .  14
  122.                DelChar  . . . . . . . . . . . . . . . . . . . . . .  14
  123.                Dir2 . . . . . . . . . . . . . . . . . . . . . . . .  14
  124.                DrvSpace . . . . . . . . . . . . . . . . . . . . . .  14
  125.                EMSFree  . . . . . . . . . . . . . . . . . . . . . .  14
  126.                EMSHandle. . . . . . . . . . . . . . . . . . . . . .  15
  127.                EMSInst  . . . . . . . . . . . . . . . . . . . . . .  15
  128.                EMSStat  . . . . . . . . . . . . . . . . . . . . . .  15
  129.                EMSVer . . . . . . . . . . . . . . . . . . . . . . .  15
  130.                Encrypt  . . . . . . . . . . . . . . . . . . . . . .  15
  131.                Evaluate . . . . . . . . . . . . . . . . . . . . . .  16
  132.                Exist  . . . . . . . . . . . . . . . . . . . . . . .  16
  133.                FileCount. . . . . . . . . . . . . . . . . . . . . .  16
  134.                Fill . . . . . . . . . . . . . . . . . . . . . . . .  16
  135.                FindHand . . . . . . . . . . . . . . . . . . . . . .  16
  136.                Fore . . . . . . . . . . . . . . . . . . . . . . . .  17
  137.                FreePages. . . . . . . . . . . . . . . . . . . . . .  17
  138.                GetAddr  . . . . . . . . . . . . . . . . . . . . . .  17
  139.                GetDir . . . . . . . . . . . . . . . . . . . . . . .  17
  140.                GetDosV  . . . . . . . . . . . . . . . . . . . . . .  17
  141.  
  142.  
  143.              PB Tools 2.0                                        Page 4
  144.  
  145.                GetHandName  . . . . . . . . . . . . . . . . . . . .
  146.                GetKey . . . . . . . . . . . . . . . . . . . . . . .  18
  147.                GetRec . . . . . . . . . . . . . . . . . . . . . . .  18
  148.                GetScrn  . . . . . . . . . . . . . . . . . . . . . .  18
  149.                Handles  . . . . . . . . . . . . . . . . . . . . . .  18
  150.                Hex2Dec  . . . . . . . . . . . . . . . . . . . . . .  19
  151.                InitWindos . . . . . . . . . . . . . . . . . . . . .  19
  152.                InsChar  . . . . . . . . . . . . . . . . . . . . . .  19
  153.                InsertOff. . . . . . . . . . . . . . . . . . . . . .  19
  154.                InsertOn . . . . . . . . . . . . . . . . . . . . . .  19
  155.                InsStat  . . . . . . . . . . . . . . . . . . . . . .  19
  156.                Int2Date . . . . . . . . . . . . . . . . . . . . . .  19
  157.                IsAlpha  . . . . . . . . . . . . . . . . . . . . . .  20
  158.                IsAlphaNum . . . . . . . . . . . . . . . . . . . . .  20
  159.                IsAlt  . . . . . . . . . . . . . . . . . . . . . . .  20
  160.                IsASCII  . . . . . . . . . . . . . . . . . . . . . .  20
  161.                IsCaps . . . . . . . . . . . . . . . . . . . . . . .  20
  162.                IsCtrl . . . . . . . . . . . . . . . . . . . . . . .  20
  163.                IsEMS  . . . . . . . . . . . . . . . . . . . . . . .  20
  164.                IsInsert . . . . . . . . . . . . . . . . . . . . . .  21
  165.                IsLShift . . . . . . . . . . . . . . . . . . . . . .  21
  166.                IsMouse  . . . . . . . . . . . . . . . . . . . . . .  21
  167.                IsNumKey . . . . . . . . . . . . . . . . . . . . . .  21
  168.                IsNum  . . . . . . . . . . . . . . . . . . . . . . .  21
  169.                IsPunc . . . . . . . . . . . . . . . . . . . . . . .  21
  170.                IsRShift . . . . . . . . . . . . . . . . . . . . . .  21
  171.                IsScroll . . . . . . . . . . . . . . . . . . . . . .  22
  172.                LPad . . . . . . . . . . . . . . . . . . . . . . . .  22
  173.                LRotate  . . . . . . . . . . . . . . . . . . . . . .  22
  174.                LScroll  . . . . . . . . . . . . . . . . . . . . . .  22
  175.                MakeInt  . . . . . . . . . . . . . . . . . . . . . .  22
  176.                MapPage  . . . . . . . . . . . . . . . . . . . . . .  22
  177.                MaskIn . . . . . . . . . . . . . . . . . . . . . . .  23
  178.                Menu . . . . . . . . . . . . . . . . . . . . . . . .  23
  179.                MLocate  . . . . . . . . . . . . . . . . . . . . . .  23
  180.                MouseKey . . . . . . . . . . . . . . . . . . . . . .  23
  181.                MouseOff . . . . . . . . . . . . . . . . . . . . . .  24
  182.                MouseOn  . . . . . . . . . . . . . . . . . . . . . .  24
  183.                MouseStat. . . . . . . . . . . . . . . . . . . . . .  24
  184.                MouseWin . . . . . . . . . . . . . . . . . . . . . .  24
  185.                MoveWin  . . . . . . . . . . . . . . . . . . . . . .  24
  186.                NoShadow . . . . . . . . . . . . . . . . . . . . . .  24
  187.                NumIn  . . . . . . . . . . . . . . . . . . . . . . .  25
  188.                NumOff . . . . . . . . . . . . . . . . . . . . . . .  25
  189.                NumOn  . . . . . . . . . . . . . . . . . . . . . . .  25
  190.                NumRecs  . . . . . . . . . . . . . . . . . . . . . .  25
  191.                NumStat  . . . . . . . . . . . . . . . . . . . . . .  25
  192.                OpenWin  . . . . . . . . . . . . . . . . . . . . . .  26
  193.                PageFrame. . . . . . . . . . . . . . . . . . . . . .  26
  194.                PutRec . . . . . . . . . . . . . . . . . . . . . . .  26
  195.                PutScrn  . . . . . . . . . . . . . . . . . . . . . .  26
  196.                ReAttr . . . . . . . . . . . . . . . . . . . . . . .  26
  197.                Recolor  . . . . . . . . . . . . . . . . . . . . . .  26
  198.                Reverse  . . . . . . . . . . . . . . . . . . . . . .  26
  199.                RPad . . . . . . . . . . . . . . . . . . . . . . . .  27
  200.  
  201.  
  202.              PB Tools 2.0                                        Page 5
  203.  
  204.                RRotate  . . . . . . . . . . . . . . . . . . . . . .  27
  205.                RScroll  . . . . . . . . . . . . . . . . . . . . . .  27
  206.                ScrollDN . . . . . . . . . . . . . . . . . . . . . .  27
  207.                ScrollOff. . . . . . . . . . . . . . . . . . . . . .  27
  208.                ScrollOn . . . . . . . . . . . . . . . . . . . . . .  27
  209.                ScrollStat . . . . . . . . . . . . . . . . . . . . .  27
  210.                ScrollUP . . . . . . . . . . . . . . . . . . . . . .  27
  211.                ScrollWin. . . . . . . . . . . . . . . . . . . . . .  28
  212.                SetHandName. . . . . . . . . . . . . . . . . . . . .  28
  213.                SetText  . . . . . . . . . . . . . . . . . . . . . .  28
  214.                ShiftAlpha . . . . . . . . . . . . . . . . . . . . .  28
  215.                StuffKey . . . . . . . . . . . . . . . . . . . . . .  29
  216.                TextEd . . . . . . . . . . . . . . . . . . . . . . .  29
  217.                TextIn . . . . . . . . . . . . . . . . . . . . . . .  29
  218.                Title  . . . . . . . . . . . . . . . . . . . . . . .  29
  219.                Trim . . . . . . . . . . . . . . . . . . . . . . . .  30
  220.                UnCompress . . . . . . . . . . . . . . . . . . . . .  30
  221.                UnMapPage  . . . . . . . . . . . . . . . . . . . . .  30
  222.                VidAddr  . . . . . . . . . . . . . . . . . . . . . .  30
  223.                VidMode  . . . . . . . . . . . . . . . . . . . . . .  30
  224.                WinColor . . . . . . . . . . . . . . . . . . . . . .  30
  225.                WPrint . . . . . . . . . . . . . . . . . . . . . . .  31
  226.                WPrintC  . . . . . . . . . . . . . . . . . . . . . .  31
  227.                ZoomBox  . . . . . . . . . . . . . . . . . . . . . .  31
  228.  
  229.  
  230.              PB Tools 2.0                                        Page 6
  231.  
  232.  
  233.        How to use PB Tools:
  234.  
  235.             All of the routines in the PB Tools UNIT files have been
  236.             declared public so that you may just include the statement for
  237.             each function or subroutines in your program, provided you use
  238.             the proper syntax for each as described in the examples found
  239.             in the description for each routine.  Note that all numeric
  240.             variables and all numeric functions are integers unless
  241.             indicated in the description.  This helps to speed the
  242.             operation of the routines and your program.  To include all of
  243.             the routines in PB Tools, just place the following statement
  244.             at the top of your program:
  245.  
  246.                        $INCLUDE "PBTOOLS.INC"
  247.  
  248.             And make sure that both the PBTOOLS.INC and PB Tools UNIT
  249.             files are located in the proper directories as setup by your
  250.             editor.  The maximum number of windows that PB Tools can
  251.             handle is defined by the variable Maxwindows% in the
  252.             PBTOOLS.INC file.  The default is 15, but you may change it to
  253.             whatever you wish.  Note however, that the larger the number
  254.             used, the more memory is taken by your program so be sure to
  255.             only declare the number of windows that you will actually be
  256.             using.  All text saved from the screen by the window routines
  257.             are held in strings, this allows the MoveWin and ChangeWin
  258.             routines to more easily rearange the location and content of
  259.             your windows.  You can change the active window displayed by
  260.             changing the CurrentWin% variable, however, the entire window
  261.             must be unobstructed on the screen, and the ChangeWin routine
  262.             will destroy any data of windows that have been "popped" onto
  263.             the screen after the window your changing, so be careful.
  264.             Refer to comments in PBTDEMO.BAS, and PBTOOLS.INC for more
  265.             help in the actual use of the routines.
  266.  
  267.  
  268.           Command List                                              Page 7
  269.  
  270.           SCRNIO.PBU
  271.              Attr        - Calculates a single integer from forground and
  272.                            background
  273.              Back        - Calculates background color from a single
  274.                            integer
  275.              CapsOff     - Toggles Caps Lock key off
  276.              CapsOn      - Toggles Caps Lock key on
  277.              CapStat     - Returns status of Caps Lock key
  278.              CheckKey    - Returns true if key in keyboard buffer
  279.              ClrKBD      - Clears keyboard buffer without removing keys
  280.              CurDisplay  - Returns active display adapter
  281.              CurBot      - Bottom scanline of cursor
  282.              CurTop      - Top scanline of cursor
  283.              Fill        - Fills a box on the screen with a charactor
  284.              Fore        - Calculates forground color from an integer
  285.              GetKey      - Get a single key from KB buffer, wait if no key
  286.                            present
  287.              GetScrn     - Places any portion of the screen into a string
  288.              InsertOff   - Toggles insert status off
  289.              InsertOn    - Toggles insert status on
  290.              InsStat     - Returns status of INS key
  291.              IsAlt       - Returns true if ALT key is depressed
  292.              IsCaps      - Returns true if Caps Lock key is depressed
  293.              IsCtrl      - Returns true if Ctrl key is depressed
  294.              IsInsert    - Returns true if INS key is depressed
  295.              IsLShift    - Returns true if Left Shift key is depressed
  296.              IsMouse     - Returns number of buttons on mouse if installed
  297.              IsNumKey    - Returns true if Num Lock key is depressed
  298.              IsRShift    - Returns true if Right Shift key is depressed
  299.              IsScroll    - Returns true is Scroll Lock key is depressed
  300.              MaskIn      - Get masked input from user
  301.              MouseKey    - Gets a key from KB, mouse movement detected
  302.              MLocate     - Locate the mouse cursor at any position on
  303.                            screen
  304.              MouseOff    - Turns mouse cursor off
  305.              MouseOn     - Turns mouse cursor on
  306.              MouseStat   - Returns mouse position, and button pressed
  307.              MouseWin    - Define the window for mouse cursor
  308.              NumIn       - Get numeric input from user
  309.              NumOff      - Toggles Num Lock key off
  310.              NumOn       - Toggles Num Lock Key on
  311.              NumStat     - Returns status of Num Lock Key
  312.              PutScrn     - Puts a string created with GetScrn back onto
  313.                            the screen
  314.              ReAttr      - Changes the color of any position on the screen
  315.              ScrollDN    - Scrolls any part of the screen down
  316.              ScrollOff   - Toggles Scroll Lock key off
  317.              ScrollOn    - Toggles Scroll Lock key on
  318.              ScrollStat  - Returns the status of the scroll-lock key
  319.              ScrollUP    - Scrolls any part of the screen up
  320.              SetText     - Sets cursor color from single integer
  321.              StuffKey    - Stuff the KB buffer with up to 16 chars
  322.              TextEd      - Lets user edit the chars within a line
  323.              TextIn      - Gets ASCII input from user with editing options
  324.              VidAddr     - Returns the segment of the video address
  325.              VidMode     - Returns current video mode
  326.  
  327.  
  328.           Command List                                              Page 8
  329.  
  330.           TOOL.PBU
  331.              Bin2Dec     - Converts a binary string to a decimal integer
  332.              Center      - Centers a string with spaces padded to left and
  333.                            right
  334.              Compress    - Compress a text string with approximate 3:2
  335.                            ratio
  336. *            CpuId       - Identifies CPU that program is running on
  337.              Date2Int    - Converts a date to a 2 byte integer
  338.              Decrypt     - Decrypt a string using a password
  339.              DelChar     - Delete a charactor within a string at desired
  340.                            location
  341.              Encrypt     - Encrypt a string with a password
  342.              Evaluate    - Evaluate a given expression and return answer
  343.              GetAddr     - Returns segment and offset of a string
  344.              Hex2Dec     - Converts a hexadecimal string to a decimal
  345.                            integer
  346.              InsChar     - Insert a charactor within a string at desired
  347.                            location
  348.              Int2Date    - Converts a 2 byte integer to a valid date
  349.              IsAlpha     - Returns true if a char is alpha
  350.              IsAlphaNum  - Returns true is a char is alpha or numeric
  351.              IsASCII     - Returns true if a char is printable ASCII
  352.              IsNum       - Returns true if a char is numeric
  353.              IsPunc      - Returns true if a char is punctuation
  354.              LPad        - Pad a string to the left with desired char
  355.              LRotate     - Rotates a string to the left one charactor
  356.              MakeInt     - Converts two bytes into an integer
  357.              Reverse     - Reverses all charactors in a string
  358.              RPad        - Pad a string to the right with desired char
  359.              RRotate     - Rotates a string to the right one charactor
  360.              ShiftAlpha  - Shifts uppercase alpha chars over selected
  361.                            chars
  362.              Trim        - Trims spaces from both ends of a string
  363.              UnCompress  - Uncompresses a compressed string
  364.  
  365.           WINDO.PBU
  366.              AddShadow   - Adds a shadow to current window
  367.              Box         - Draws a box on the screen with one of 14
  368.                            borders
  369.              ChangeWin   - Changes the size of the current window
  370.              ClearWin    - Clears the contents of the current window
  371.              CloseWin    - Closes a previously opened window
  372.              InitWindos  - Initialize all variables for window routines
  373.              Menu        - Displays a menu and returns choice from user
  374.              MoveWin     - Moves the current window in any one of 4
  375.                            directions
  376.              NoShadow    - Removes the shadow form the current window
  377.              OpenWin     - Pops a window on the screen saving whatever is
  378.                            underneath
  379.              ScrollWin   - Scrolls the text within the current window up
  380.                            or down
  381.              Title       - Displays a title in one of 6 positions in
  382.                            desired color
  383.              WinColor    - Changes the text color of the current window
  384.              WPrint      - Displays a text string within the current
  385.                            window
  386.              WPrintC     - Centers a text string horizontally within
  387.                            current window
  388.              ZoomBox     - Explodes a box on the screen
  389.  
  390.  
  391.           Command List                                              Page 9
  392.  
  393.           DOSIO.PBU
  394.              DrvSpace    - Double precision integer containing drive space
  395.                            left
  396.              Exist       - Returns true if file exists
  397.              FileCount   - Returns the number of files in dir matching
  398.                            specification
  399.              GetDir      - Returns an array containing all filenames
  400.                            matching spec
  401.              GetDosV     - Returns current DOS version number
  402.              GetDrive    - Returns current active drive/partition
  403.              GetRec      - Retrieves a record from a file
  404.              NumRecs     - Returns total number of records within a file
  405.              PutRec      - Put a record into a file
  406.  
  407.           EMSIO.PBU
  408.              CloseHandle - Closes a previously allocated EMS Handle
  409.              EMSFree     - Returns the amount of free EMS memory
  410.              EMSHandle   - Allocates the requested pages and returns
  411.                            handle number
  412.              EMSInst     - Returns the amount of EMS installed
  413.              EMSStat     - Returns the status of installed EMS
  414.              EMSVer      - Returns the version number of the EMS driver
  415.              FindHand    - Returns the file handle number for given name
  416.              FreePages   - Returns the number of free pages in EMS
  417.              GetHandName - Returns 8 charactor name of an EMS handle
  418.              Handles     - Returns the number of handles used
  419.              IsEMS       - Returns true if EMS installed
  420.              MapPage     - Maps logical page to Page Frame
  421.              PageFrame   - Returns the address segment of the page frame
  422.              SetHandName - Assign an 8 charactor name of an EMS handle
  423.              UnMapPage   - Unmaps current mapped logical frame
  424.  
  425.  
  426.           Command Usage                                            Page 10
  427.  
  428.      ---------------------------------------------------------------------
  429.       AddShadow                  SUB-ROUTINE                    WINDO.PBU
  430.      ---------------------------------------------------------------------
  431.      Adds a shadow to current window.
  432.  
  433.      Example:  CALL AddShadow(Dir%)
  434.                Where Dir% = 1 for Drop Left shadow using black spaces
  435.                             2 for Drop Right using black spaces
  436.                             3 for Drop Left changing background attributes
  437.                             4 for Drop Right changing background
  438.                             attributes
  439.  
  440.      See Also: NoShadow
  441.      ---------------------------------------------------------------------
  442.       Attr                       FUNCTION                      SCRNIO.PBU
  443.      ---------------------------------------------------------------------
  444.      Calculates a single integer from foreground and background values.
  445.  
  446.      Example:  Color%=Attr%(foreground%,background%)
  447.  
  448.                Color Table:
  449.                     Foreground            BackGround
  450.                   0  - Black                 Black
  451.                   1  - Blue                  Blue
  452.                   2  - Green                 Green
  453.                   3  - Cyan                  Cyan
  454.                   4  - Red                   Red
  455.                   5  - Magenta               Magenta
  456.                   6  - Brown                 Brown
  457.                   7  - White                 White
  458.                   8  - Gray
  459.                   9  - Light Blue
  460.                  10  - Light Green
  461.                  11  - Light Cyan
  462.                  12  - Light Red
  463.                  13  - Light Magenta
  464.                  14  - Yellow
  465.                  15  - Bright White
  466.  
  467.      See Also:  Back, Fore, ReAttr, WinColor
  468.      ---------------------------------------------------------------------
  469.       Back                       FUNCTION                      SCRNIO.PBU
  470.      ---------------------------------------------------------------------
  471.      Calculates the background attribute from a single
  472.      foreground/background byte.
  473.  
  474.      Example:  Background%=Back%(ColorByte%)
  475.  
  476.      See Also:  Attr, Fore, ReAttr, WinColor
  477.      ---------------------------------------------------------------------
  478.       Bin2Dec                    FUNCTION                        TOOL.PBU
  479.      ---------------------------------------------------------------------
  480.      Converts a binary string to a decimal integer.
  481.  
  482.      Example:  Binary$="0101"
  483.                Dec%=Bin2Dec%(Binary$)
  484.  
  485.      See Also: Hex2Dec
  486.      ---------------------------------------------------------------------
  487.       Box                        SUB-ROUTINE                    WINDO.PBU
  488.      ---------------------------------------------------------------------
  489.      Draws a box on the screen with one of 14 borders types.
  490.  
  491.      Example:  CALL
  492.      Box(Ypos%,Xpos%,Ylen%,Xlen%,Bor%,Shadow%,BorCol%,TextCol%)
  493.                Where Ypos% = Top most row of the box
  494.                      Xpos% = Left most column of the box
  495.                      Ylen% = Total number of rows to draw the box in, not
  496.                              including the shadow
  497.                      Xlen% = Total number of columns to draw the box, not
  498.                              including the shadow
  499.                      Bor% = The selected border outline
  500.                             0 - No shadow
  501.                             1 - Single line box
  502.                             2 - Double line box
  503.                             3 - Single sides/double top & bottom
  504.                             4 - Double sides/single top & bottom
  505.                             5 - Pulldown single box
  506.                             6 - Pulldown double box
  507.                             7 - Pulldown single top/double sides & bottom
  508.                             8 - Pulldown double top/single sides & bottom
  509.                             9 - Single top & bottom/no sides
  510.                            10 - Double top & bottom/no sides
  511.                            11 - Solid  style 1
  512.                            12 - Medium hatch
  513.                            13 - Solid  style 2
  514.                      Shadow% = Placement of shadow
  515.                             1 - Drop Left shadow using black spaces
  516.                             2 - Drop Right using black spaces
  517.                             3 - Drop Left changing background attributes
  518.                             4 - Drop Right changing background attributes
  519.                      BorCol% = Single integer for border color (see Attr)
  520.                      TextCol% = Single integer for text color (see Attr)
  521.  
  522.      See Also:  Attr
  523.      ---------------------------------------------------------------------
  524.       CapsOff                    SUB-ROUTINE                   SCRNIO.PBU
  525.      ---------------------------------------------------------------------
  526.      Toggles Caps Lock key off.
  527.  
  528.      Example:  CALL CapsOff
  529.  
  530.      See Also:  CapsOn, CapStat
  531.      ---------------------------------------------------------------------
  532.       CapsOn                     SUB-ROUTINE                   SCRNIO.PBU
  533.      ---------------------------------------------------------------------
  534.      Toggles Caps Lock key on.
  535.  
  536.      Example:  CALL CapsOn
  537.  
  538.      See Also:  CapsOff, CapStat
  539.      ---------------------------------------------------------------------
  540.       CapStat                    FUNCTION                      SCRNIO.PBU
  541.      ---------------------------------------------------------------------
  542.      Returns true if Caps Lock is on.
  543.  
  544.      Example:  IF CapStat% THEN CALL CapsOff
  545.  
  546.      See Also:  CapsOff, CapsOn
  547.      ---------------------------------------------------------------------
  548.       Center                     FUNCTION                        TOOL.PBU
  549.      ---------------------------------------------------------------------
  550.      Centers a string with spaces padded to the left and right.
  551.  
  552.      Example:  Centered$=Center$("This is centered",TotCol%)
  553.                Where TotCol% = total number of columns to center string
  554.                within.
  555.  
  556.      See Also:  LPad, LRotate, RPad, RRotate, Trim
  557.      ---------------------------------------------------------------------
  558.       ChangeWin                  SUB-ROUTINE                    WINDO.PBU
  559.      ---------------------------------------------------------------------
  560.      Changes the size of the current windo.  There can be NO shadow on the
  561.      windo when you resize it.
  562.  
  563.      Example:  CALL ChangeWin(Dir%)
  564.                Where Dir% = the direction that you want to resize.
  565.                   1 - Add to the right one position
  566.                   2 - Remove from the right one position
  567.                   3 - Add to the bottom one row
  568.                   4 - Remove from the bottom one row
  569.  
  570.      ---------------------------------------------------------------------
  571.       CheckKey                   FUNCTION                      SCRNIO.PBU
  572.      ---------------------------------------------------------------------
  573.      Checks the keyboard buffer to see if a key is present without
  574.      removing it.
  575.  
  576.      Example:  IF CheckKey% THEN GOSUB GetAllKeys
  577.  
  578.      See Also:  ClrKBD, GetKey, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  579.                 IsNum, IsRShift, IsScroll, StuffKey
  580.      ---------------------------------------------------------------------
  581.       ClearWin                   SUB-ROUTINE                    WINDO.PBU
  582.      ---------------------------------------------------------------------
  583.      Clears the contents of the current windo.
  584.  
  585.      Example:  CALL ClearWin
  586.  
  587.      See Also:  OpenWin, WinColor, WPrint, WPrintC
  588.      ---------------------------------------------------------------------
  589.       CloseHandle                SUB-ROUTINE                    EMSIO.PBU
  590.      ---------------------------------------------------------------------
  591.      Closes a previously allocated EMS handle and de-allocates all memory
  592.      used.
  593.  
  594.      Example:  CALL CloseHandle(Handle%)
  595.  
  596.      See Also:  EMSHandle, FindHand, GetHandName, Handles, SetHandName
  597.      ---------------------------------------------------------------------
  598.       CloseWin                   SUB-ROUTINE                   SCRNIO.PBU
  599.      ---------------------------------------------------------------------
  600.      Closes the current active window.  Do Not close a window unless it is
  601.        the last window you popped onto the screen, otherwise you lose
  602.        access to all windows following it.
  603.  
  604.      Example:  CALL CloseWin
  605.  
  606.      See Also:  OpenWin
  607.      ---------------------------------------------------------------------
  608.       ClrKBD                     SUB-ROUTINE                   SCRNIO.PBU
  609.      ---------------------------------------------------------------------
  610.      Clears all keys from the keyboard buffer.
  611.  
  612.      Example:  CALL ClrKBD
  613.  
  614.      See Also: CheckKey, GetKey, StuffKey
  615.      ---------------------------------------------------------------------
  616.       Compress                   SUB-ROUTINE                     TOOL.PBU
  617.      ---------------------------------------------------------------------
  618.      Compresses a text string with approximately a 2:3 ratio.  The only
  619.        valid charactors within the text string are uppercase letters,
  620.        space, comma, period, semi-colon, and colon.
  621.  
  622.      Example:  NewText$=Compress$(OldText$)
  623.  
  624.      See Also:  Decrypt, Encrypt, UnCompress
  625.      ---------------------------------------------------------------------
  626.       CurBot                     FUNCTION                      SCRNIO.PBU
  627.      ---------------------------------------------------------------------
  628.      Returns the scanline for the bottom of the cursor.  The cursor need
  629.        not be displayed when routine is called.
  630.  
  631.      Example:  CursorBottom%=CurBot%
  632.  
  633.      See Also:  CurTop
  634.      ---------------------------------------------------------------------
  635.       CurDisplay                 FUNCTION                      SCRNIO.PBU
  636.      ---------------------------------------------------------------------
  637.      Returns the active video display.
  638.  
  639.      Example:  VidType%=CurDisplay%
  640.                Where 0 - Mono
  641.                      1 - CGA
  642.                      2 - EGA
  643.                      3 - MCGA
  644.                      4 - VGA
  645.  
  646.      See Also:  VidAddr, VidMode
  647.      ---------------------------------------------------------------------
  648.       CurTop                     FUNCTION                      SCRNIO.PBU
  649.      ---------------------------------------------------------------------
  650.      Returns the scanline for the top of the cursor.
  651.  
  652.      Example:  CursorTop%=CurTop%
  653.  
  654.      See Also:  CurBot
  655.      ---------------------------------------------------------------------
  656.       Date2Int                   FUNCTION                        TOOL.PBU
  657.      ---------------------------------------------------------------------
  658.      Converts a date between 01-01-1900 and 01-01-2030 into a 2-
  659.      byte integer.
  660.  
  661.      Example:  TheDate%=Date2Int%(DATE$)
  662.  
  663.      See Also:  Int2Date
  664.      ---------------------------------------------------------------------
  665.       Decrypt                    FUNCTION                        TOOL.PBU
  666.      ---------------------------------------------------------------------
  667.      Decrypts a string using a password.
  668.  
  669.      Example:  PRINT Decrypt$(Text$,Password$)
  670.  
  671.      See Also:  Compress, Encrypt, UnCompress
  672.      ---------------------------------------------------------------------
  673.       DelChar                    FUNCTION                        TOOL.PBU
  674.      ---------------------------------------------------------------------
  675.      Deletes a charactor from within a string.
  676.  
  677.      Example:  NewText$=DelChar$(OldText$,5)
  678.                Would delete the 5th charactor from OldText$
  679.  
  680.      See Also:  InsChar
  681.      ---------------------------------------------------------------------
  682.       Dir2                       FUNCTION                       DOSIO.PBU
  683.      ---------------------------------------------------------------------
  684.      Returns the filename, filesize, and filedate for a given filespec and
  685.      attribute.
  686.  
  687.      Example:  PRINT Dir2$(Spec$,Atr%,Size&,FileDate$)
  688.                      Where Spec$ - File Specification (ie: "*.*")
  689.                            Atr% - File attribute to search for
  690.                            Size& - size of returned file
  691.                            FileDate$ - date of returned file
  692.                 Note:  If you use "" as the filespec then the routine will
  693.                        search for the next file using the same Spec$ and
  694.                        Atr%
  695.      See Also:  PRINDIR.BAS
  696.      ---------------------------------------------------------------------
  697.       DrvSpace                   FUNCTION                       DOSIO.PBU
  698.      ---------------------------------------------------------------------
  699.      Returns the number of bytes available for default drive as a
  700.      double precision integer.
  701.  
  702.      Example:  PRINT "Total Bytes Free on Current Drive:";DrvSpace#
  703.  
  704.      See Also:  CurDrive, SetDrive
  705.      ---------------------------------------------------------------------
  706.       EMSFree                      FUNCTION                     EMSIO.PBU
  707.      ---------------------------------------------------------------------
  708.      Returns the amount of free EMS memory.
  709.  
  710.      Example:  FreeSpace%=EMSFree%
  711.  
  712.      See Also:  EMSInst, FreePages
  713.      ---------------------------------------------------------------------
  714.       EMSHandle                  FUNCTION                       EMSIO.PBU
  715.      ---------------------------------------------------------------------
  716.      Allocates the requested pages and returns the handle number.
  717.  
  718.      Example:  Handle%=EMSHandle%(Pages%)
  719.                Where Pages% = The number of pages you wish to allocate.
  720.  
  721.      See Also:  CloseHandle, FreePages, SetHandName
  722.      ---------------------------------------------------------------------
  723.       EMSInst                    FUNCTION                       EMSIO.PBU
  724.      ---------------------------------------------------------------------
  725.      Returns the amount of EMS memory installed.
  726.  
  727.      Example:  PRINT "You have ";EMSInst%;" bytes of EMS"
  728.  
  729.      See Also:  EMSFree, EMSStat, EMSVer, FreePages, IsEMS
  730.      ---------------------------------------------------------------------
  731.       EMSStat                    FUNCTION                       EMSIO.PBU
  732.      ---------------------------------------------------------------------
  733.      Returns the status of the EMS driver.
  734.  
  735.      Example:  Status%=EMSStat%
  736.  
  737.      See Also: EMSVer, IsEMS
  738.      ---------------------------------------------------------------------
  739.       EMSVer                     FUNCTION                       EMSIO.PBU
  740.      ---------------------------------------------------------------------
  741.      Returns the version number of the EMS driver.
  742.  
  743.      Example:  Version%=EMSVer%
  744.  
  745.      See Also:  EMSStat, IsEMS
  746.      ---------------------------------------------------------------------
  747.       Encrypt                    FUNCTION                        TOOL.PBU
  748.      ---------------------------------------------------------------------
  749.      Encrypts a text string using a password.
  750.  
  751.      Example:  Secret$=Encrypt$(Text$,Password$)
  752.  
  753.      See Also:  Compress, Decrypt, UnCompress
  754.      ---------------------------------------------------------------------
  755.       Evaluate                   SUB-ROUTINE                     TOOL.PBU
  756.      ---------------------------------------------------------------------
  757.      Evaluates a given mathematical expression and returns an
  758.      answer.
  759.  
  760.      Example:  CALL Evaluate(Expression$, Result#, ErrCode%)
  761.                Where Expression$ = a mathematical expression, ie:
  762.      "(4+4)*6"
  763.                      Result# = a double precision real number
  764.                      ErrCode% = any errors that may occur
  765.      ---------------------------------------------------------------------
  766.       Exist                      FUNCTION                       DOSIO.PBU
  767.      ---------------------------------------------------------------------
  768.      Returns true if given filename exists.
  769.  
  770.      Example:  IF Exist%(Path$+FileName$) THEN GOSUB LoadFile
  771.  
  772.      See Also:  CurDir, CurDrive, GetRec, NumRecs, PutRec
  773.      ---------------------------------------------------------------------
  774.       FileCount                  FUNCTION                       DOSIO.PBU
  775.      ---------------------------------------------------------------------
  776.      Reports the number of files within a given path and
  777.      specification that
  778.        have a given attribute.
  779.  
  780.      Example:  NumFiles%=FileCount("*.*",Atr%)
  781.                Where Atr% = Attribute of files to search
  782.  
  783.      See Also:  CurDir, CurDrive, GetAttr, GetDir, GetDrive, SetAttr
  784.      ---------------------------------------------------------------------
  785.       Fill                       SUB-ROUTINE                   SCRNIO.PBU
  786.      ---------------------------------------------------------------------
  787.      Fills a box on the screen with a given charactor and
  788.      background attribute.
  789.  
  790.      Example:  CALL Fill(Ypos%, Xpos%, Ylen%, Xlen%, Char%, Atr%)
  791.                Where Char% = Charactors to fill box with
  792.                      Atr% = Attribute to display charactor in
  793.  
  794.      See Also:  Attr, ReAttr, Recolor
  795.      ---------------------------------------------------------------------
  796.       FindHand                   FUNCTION                       EMSIO.PBU
  797.      ---------------------------------------------------------------------
  798.      Finds handle number for given 8 charactor name.
  799.  
  800.      Example:  Handle%=FindHand%("TEST")
  801.  
  802.      See Also:  CloseHandle, EMSHandle, GetHandName, Handles, SetHandName
  803.      ---------------------------------------------------------------------
  804.       Fore                       FUNCTION                      SCRNIO.PBU
  805.      ---------------------------------------------------------------------
  806.      Calculates foreground from single color attribute integer.
  807.  
  808.      Example:  ForeGround%=Fore(Atr%)
  809.  
  810.      See Also:  Attr, Back
  811.      ---------------------------------------------------------------------
  812.       FreePages                  FUNCTION                       EMSIO.PBU
  813.      ---------------------------------------------------------------------
  814.      Returns the number of free pages in EMS.
  815.  
  816.      Example:  PRINT "There are ";FreePages%;" left in EMS"
  817.  
  818.      See Also:  EMSFree, EMSInst, EMSStat, EMSVer, Handles, IsEMS,
  819.      PageFrame
  820.      ---------------------------------------------------------------------
  821.       GetAddr                    SUB-ROUTINE                     TOOL.PBU
  822.      ---------------------------------------------------------------------
  823.      Returns segment and offset of a string.
  824.  
  825.      Example:  CALL GetAddr(Text$, Segmnt%, Offst%)
  826.                Where Segmnt% = The 64k segment in which the string resides
  827.                      Offst% = The offset from the segment where the string
  828.      resides
  829.      ---------------------------------------------------------------------
  830.       GetDir                     SUB-ROUTINE                    DOSIO.PBU
  831.      ---------------------------------------------------------------------
  832.      Returns an array containing all filenames matching
  833.      specification
  834.  
  835.      Example:  CALL GetDir("*.*",Atr%,AllFiles$())
  836.                Where AllFiles$() = a predimensioned array to hold the
  837.      filenames
  838.  
  839.      See Also:  CurDir, CurDrive, Exist, FileCount
  840.      ---------------------------------------------------------------------
  841.       GetDosV                    FUNCTION                       DOSIO.PBU
  842.      ---------------------------------------------------------------------
  843.      Returns the version of DOS currently being used.
  844.  
  845.      Example:  PRINT "DOS Version:";GetDosV%*.01; is currently being used"
  846.      ---------------------------------------------------------------------
  847.       GetHandName                FUNCTION                       EMSIO.PBU
  848.      ---------------------------------------------------------------------
  849.      Returns the 8 charactor name for a given handle number.
  850.  
  851.      Example:  PRINT "The name for EMS Handle number 8 is
  852.      ";GetHandName$(8)
  853.  
  854.      See Also:  CloseHandle, EMSHandle, FindHand, Handles, SetHandName
  855.      ---------------------------------------------------------------------
  856.       GetKey                     FUNCTION                      SCRNIO.PBU
  857.      ---------------------------------------------------------------------
  858.      Gets a single key from the keyboard buffer, waits if no key
  859.      is pressed.
  860.        Does not check status of the shift keys.
  861.  
  862.      Example:  PRINT"Press Any Key to Continue":I$=GetKey$
  863.  
  864.      See Also:  CheckKey, ClrKBD, MouseKey, MaskIn, NumIn, Text Ed, TextIn
  865.      ---------------------------------------------------------------------
  866.       GetRec                     FUNCTION                       DOSIO.PBU
  867.      ---------------------------------------------------------------------
  868.      Retrieves a record from a random access file.
  869.  
  870.      Example:  Record$=GetRec$(Filename$, RecNum%, Recsize%)
  871.                Where RecNum% = The number of the record that you want
  872.                      RecSize% = The size of each record
  873.  
  874.      See Also:  Exist, NumRecs, PutRec
  875.      ---------------------------------------------------------------------
  876.       GetScrn                    FUNCTION                      SCRNIO.PBU
  877.      ---------------------------------------------------------------------
  878.      Places any portion of the screen and it's color attributes in
  879.      a string.
  880.  
  881.      Example:  Top$=GetScrn$(Ypos%, Xpos%, Xlen%)
  882.  
  883.      See Also:  PutScrn
  884.      ---------------------------------------------------------------------
  885.       Handles                     FUNCTION                      EMSIO.PBU
  886.      ---------------------------------------------------------------------
  887.      Returns the number of active EMS handles.
  888.  
  889.      Example:  PRINT "There are ";Handles%;" currently active"
  890.  
  891.      See Also:  CloseHandle, EMSHandle, EMSVer, FindHand, GetHandName,
  892.      IsEMS
  893.      ---------------------------------------------------------------------
  894.       Hex2Dec                    FUNCTION                        TOOL.PBU
  895.      ---------------------------------------------------------------------
  896.      Converts a hexadecimal number to a decimal integer.
  897.  
  898.      Example:  Integer%=Hex2Dec%("C800")
  899.  
  900.      See Also:  Bin2Dec
  901.      ---------------------------------------------------------------------
  902.       InitWindos                 SUB-ROUTINE                    WINDO.PBU
  903.      ---------------------------------------------------------------------
  904.      Initializes all variables for windo routines.
  905.  
  906.      Example:  CALL InitWindos
  907.  
  908.      See Also:  OpenWin, CloseWin
  909.      ---------------------------------------------------------------------
  910.       InsChar                     FUNCTION                       TOOL.PBU
  911.      ---------------------------------------------------------------------
  912.      Inserts a charactor or string into another string at desired
  913.      position.
  914.  
  915.      Example:  NewString$=InsChar$(OldString$,"Test")
  916.  
  917.      See Also:  Center, DelChar, Trim
  918.      ---------------------------------------------------------------------
  919.       InsertOff                  SUB-ROUTINE                   SCRNIO.PBU
  920.      ---------------------------------------------------------------------
  921.      Toggles insert key off.
  922.  
  923.      Example:  CALL InsertOff
  924.  
  925.      See Also:  InsertOn, InsStat, IsInsert
  926.      ---------------------------------------------------------------------
  927.       InsertOn                   SUB-ROUTINE                   SCRNIO.PBU
  928.      ---------------------------------------------------------------------
  929.      Toggles insert key on.
  930.  
  931.      Example:  CALL InsertOn
  932.  
  933.      See Also:  InsertOff, InsStat, IsInsert
  934.      ---------------------------------------------------------------------
  935.       InsStat                    FUNCTION                      SCRNIO.PBU
  936.      ---------------------------------------------------------------------
  937.      Returns the status of the insert key.
  938.  
  939.      Example:  Status%=InsStat%
  940.  
  941.      See Also:  InsertOff, InsertOn, IsInsert
  942.      ---------------------------------------------------------------------
  943.       Int2Date                    FUNCTION                       TOOL.PBU
  944.      ---------------------------------------------------------------------
  945.      Converts a 2 byte integer into a valid date.
  946.  
  947.      Example:  PRINT "Stored Date is ";Int2Date$(Stored%)
  948.  
  949.      See Also:  Date2Int
  950.      ---------------------------------------------------------------------
  951.       IsAlpha                    FUNCTION                        TOOL.PBU
  952.      ---------------------------------------------------------------------
  953.      Returns true if a charactor is between "a" and "z" or "A" and
  954.      "Z".
  955.  
  956.      Example:  IF IsAlpha%(I$) THEN Yep
  957.  
  958.      See Also:  GetKey$, IsAlphaNum, IsASCII, IsNumKey, IsPunc
  959.      ---------------------------------------------------------------------
  960.       IsAlphaNum                 FUNCTION                        TOOL.PBU
  961.      ---------------------------------------------------------------------
  962.      Returns true is a charactor is alpha or numeric.
  963.  
  964.      Example:  IF IsAlphaNum%(I$) THEN Yep
  965.  
  966.      See Also:  GetKey$, IsAlpha, IsASCII, IsNumKey, IsPunc
  967.      ---------------------------------------------------------------------
  968.       IsAlt                      FUNCTION                      SCRNIO.PBU
  969.      ---------------------------------------------------------------------
  970.      Returns true if an Alt key is depressed.
  971.  
  972.      Example:  IF IsAlt% THEN AltKeyPressed
  973.  
  974.      See Also:  GetKey$, IsCaps, IsCtrl, IsInsert, IsLShift, IsNumKey,
  975.      IsRShift
  976.      ---------------------------------------------------------------------
  977.       IsASCII                    FUNCTION                        TOOL.PBU
  978.      ---------------------------------------------------------------------
  979.      Returns true if the value of a charactor is between 32 and
  980.      127.
  981.  
  982.      Example:  IF IsASCII%(I$) THEN AddChar
  983.      ---------------------------------------------------------------------
  984.       IsCaps                     FUNCTION                      SCRNIO.PBU
  985.      ---------------------------------------------------------------------
  986.      Returns true if the caps lock key is depressed.
  987.  
  988.      Example:  IF IsCaps% THEN Yep
  989.  
  990.      See Also:  GetKey$, IsAlt, IsCtrl, IsInsert, IsLShift, IsNumKey,
  991.      IsRShift
  992.      ---------------------------------------------------------------------
  993.       IsCtrl                     FUNCTION                      SCRNIO.PBU
  994.      ---------------------------------------------------------------------
  995.      Returns true is a Ctrl key is depressed.
  996.  
  997.      Example:  IF IsCtrl% THEN Yep
  998.  
  999.      See Also:  GetKey$, IsAlt, IsCaps, IsInsert, IsLShift, IsNumKey,
  1000.      IsRShift
  1001.      ---------------------------------------------------------------------
  1002.       IsEMS                       FUNCTION                      EMSIO.PBU
  1003.      ---------------------------------------------------------------------
  1004.      Returns true if EMS is installed.
  1005.  
  1006.      Example:  IF IsEMS% THEN Yep
  1007.  
  1008.      See Also:  EMSFree, EMSInst, EMSStat, EMSVer, FreePages, PageFrame
  1009.      ---------------------------------------------------------------------
  1010.       IsInsert                   FUNCTION                      SCRNIO.PBU
  1011.      ---------------------------------------------------------------------
  1012.      Returns true if Insert key is depressed.
  1013.  
  1014.      Example:  IF IsInsert% THEN Yep
  1015.  
  1016.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsLShift, IsNumKey,
  1017.      IsRShift
  1018.      ---------------------------------------------------------------------
  1019.       IsLShift                   FUNCTION                      SCRNIO.PBU
  1020.      ---------------------------------------------------------------------
  1021.      Returns true if Left Shift Key is depressed.
  1022.  
  1023.      Example:  IF IsLShift% THEN Yep
  1024.      ---------------------------------------------------------------------
  1025.       IsMouse                    FUNCTION                      SCRNIO.PBU
  1026.      ---------------------------------------------------------------------
  1027.      Returns the number of buttons if a mouse is installed.
  1028.  
  1029.      Example:  IF IsMouse% THEN Buttons%=IsMouse%
  1030.  
  1031.      See Also:  MLocate, MouseKey, MouseOff, MouseOn, MouseStat, MouseWin
  1032.      ---------------------------------------------------------------------
  1033.       IsNumKey                   FUNCTION                      SCRNIO.PBU
  1034.      ---------------------------------------------------------------------
  1035.      Returns true if the Num Lock key is depressed.
  1036.  
  1037.      Example:  IF IsNum% THEN Yep
  1038.  
  1039.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  1040.      IsRShift
  1041.      ---------------------------------------------------------------------
  1042.       IsNum                      FUNCTION                        TOOL.PBU
  1043.      ---------------------------------------------------------------------
  1044.      Returns true if charactor is numeric.
  1045.  
  1046.      Example:  IF IsNum%(I$) THEN GetMoreNumbers
  1047.  
  1048.      See Also:  IsAlpha, IsAlphaNum, IsASCII, IsPunc
  1049.      ---------------------------------------------------------------------
  1050.       IsPunc                     FUNCTION                        TOOL.PBU
  1051.      ---------------------------------------------------------------------
  1052.      Returns true if a charactor is punctuation, ie "';:.,/?[{]}!@#$%&*()-
  1053.  
  1054.      Example:  IF IsPunc(I$) THEN Yep
  1055.  
  1056.      See Also:  IsAlpha, IsAlphaNum, IsASCII, IsNum
  1057.      ---------------------------------------------------------------------
  1058.       IsRShift                   FUNCTION                      SCRNIO.PBU
  1059.      ---------------------------------------------------------------------
  1060.      Returns true if the Right Shift key is depressed.
  1061.  
  1062.      Example:  IF IsRShift% THEN Yep
  1063.  
  1064.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  1065.      IsNumKey
  1066.      ---------------------------------------------------------------------
  1067.       IsScroll                   FUNCTION                      SCRNIO.PBU
  1068.      ---------------------------------------------------------------------
  1069.      Returns true if Scroll Lock key is depressed.
  1070.  
  1071.      Example:  IF IsScroll% THEN Yep
  1072.  
  1073.      See Also:  GetKey$, IsAlt, IsCaps, IsCtrl, IsInsert, IsLShift,
  1074.      IsNumKey
  1075.      ---------------------------------------------------------------------
  1076.       LPad                       FUNCTION                        TOOL.PBU
  1077.      ---------------------------------------------------------------------
  1078.      Pads a string to the left desired number of charactors using
  1079.      desired string.
  1080.  
  1081.      Example:  NewString$=LPad$(OldString$,80,32)
  1082.                Would pad OldString$ to 80 charactors using a space
  1083.  
  1084.      See Also:  RPad$, Trim$
  1085.      ---------------------------------------------------------------------
  1086.       LRotate                    FUNCTION                        TOOL.PBU
  1087.      ---------------------------------------------------------------------
  1088.      Rotates a string one charactor to the left, making the first
  1089.      char the last.
  1090.  
  1091.      Example:  NewString$=LRotate$(OldString$)
  1092.  
  1093.      See Also: RRotate
  1094.      ---------------------------------------------------------------------
  1095.       LScroll                    SUB-ROUTINE                   SCRNIO.PBU
  1096.      ---------------------------------------------------------------------
  1097.      Scrolls any portion of the screen to the left.
  1098.  
  1099.      Example:  CALL LScroll(TopRow%,LeftCol%,BotRow%,RightCol%,Cols%)
  1100.  
  1101.      See Also:  RScroll, ScrollDN, ScrollUP, ScrollWin
  1102.      ---------------------------------------------------------------------
  1103.       MakeInt                    FUNCTION                        TOOL.PBU
  1104.      ---------------------------------------------------------------------
  1105.      Makes a single integer from 2 bytes.
  1106.  
  1107.      Example:  Integer%=MakeInt%(Msb%, Lsb%)
  1108.                Where Msb% = The most significant byte
  1109.                      Lsb% = The least siginificant byte
  1110.      ---------------------------------------------------------------------
  1111.       MapPage                    SUB-ROUTINE                    EMSIO.PBU
  1112.      ---------------------------------------------------------------------
  1113.      Maps a logical page to the pageframe.
  1114.  
  1115.      Example:  CALL MapPage(Handle%, Page%)
  1116.                Where Handle% = The handle number you wish to access
  1117.                      Page% = The logical page you want mapped for use
  1118.  
  1119.      See Also:  FindHand, GetHandName, Handles, PageFrame, SetHandName,
  1120.      UnMapPage
  1121.      ---------------------------------------------------------------------
  1122.       MaskIn                     SUB-ROUTINE                   SCRNIO.PBU
  1123.      ---------------------------------------------------------------------
  1124.      Gets Masked Input from user.
  1125.  
  1126.      Example:  CALL MaskIn(Ypos%, Xpos%, TexCol%, Hilite%, Mask$, Deflt$,
  1127.                Term$) Where TexCol% = The color of the text when editing
  1128.                is done
  1129.                      Hilite% = The color of the text as it is edited
  1130.                      Mask$ = the desired mask to use for getting input
  1131.                          _ = Any charactor
  1132.                          @ = Alpha charactors only (Upper and Lower)
  1133.                          # = Numeric charactors only
  1134.                          ! = Uppercase Alpha only
  1135.                          | = Alpha and numeric only (Uppercase)
  1136.                      Deflt$ = The default answer for input
  1137.                      Term$ = The terminating key for editing
  1138.  
  1139.      See Also:  GetKey, MouseKey, NumIn, TextEd, TextIn
  1140.      ---------------------------------------------------------------------
  1141.       Menu                         FUNCTION                     WINDO.PBU
  1142.      ---------------------------------------------------------------------
  1143.      Displays a menu and gets choice from user.
  1144.  
  1145.      Example:  Choice%=Menu%(Choices$(), Ypos%, Ylen%, Current%, Hilite%)
  1146.                Where Choices$() = Choices to display
  1147.                      Ypos% = The starting row to the display menu relative
  1148.      to
  1149.                              the current open windo
  1150.                      Ylen% = The number of the choices to display.  If all
  1151.                              choices cannot be displayed then remaining
  1152.                              choices will be scrolled onto the screen.
  1153.                      Current% = The default choice to hilite first
  1154.                      Hilite% = The color to display the current choice
  1155.  
  1156.      See Also:  OpenWin
  1157.      ---------------------------------------------------------------------
  1158.       MLocate                      SUB-ROUTINE                 SCRNIO.PBU
  1159.      ---------------------------------------------------------------------
  1160.      Locates the mouse cursor to a desired position on the screen.
  1161.  
  1162.      Example:  CALL MLocate(Ypos%,Xpos%)
  1163.  
  1164.      See Also:  IsMouse, MouseOff, MouseOn, MouseStat
  1165.      ---------------------------------------------------------------------
  1166.       MouseKey                     FUNCTION                    SCRNIO.PBU
  1167.      ---------------------------------------------------------------------
  1168.      Gets keyboard input from user.  If mouse is attached, mouse
  1169.      movements are also used.  Left Button = Enter, Right Button = Esc
  1170.  
  1171.      Example:  I$=MouseKey$
  1172.  
  1173.      See Also: GetKey$, IsMouse
  1174.      ---------------------------------------------------------------------
  1175.       MouseOff                     SUB-ROUTINE                 SCRNIO.PBU
  1176.      ---------------------------------------------------------------------
  1177.      Turns off mouse cursor.
  1178.  
  1179.      Example:  CALL MouseOff
  1180.  
  1181.      See Also:  IsMouse, MouseOn, MouseStat
  1182.      ---------------------------------------------------------------------
  1183.       MouseOn                      SUB-ROUTINE                 SCRNIO.PBU
  1184.      ---------------------------------------------------------------------
  1185.      Turns on mouse cursor.
  1186.  
  1187.      Example:  CALL MouseOn
  1188.  
  1189.      See Also:  IsMouse, MouseOff, MouseStat
  1190.      ---------------------------------------------------------------------
  1191.       MouseStat                    SUB-ROUTINE                 SCRNIO.PBU
  1192.      ---------------------------------------------------------------------
  1193.      Returns the status of the mouse.
  1194.  
  1195.      Example:  CALL MouseStat(Button%, Ypos%, Xpos%)
  1196.                Where Button% = Current button(s) depressed
  1197.  
  1198.      See Also:  IsMouse, MouseOff, MouseOn
  1199.      ---------------------------------------------------------------------
  1200.       MouseWin                     SUB-ROUTINE                 SCRNIO.PBU
  1201.      ---------------------------------------------------------------------
  1202.      Defines the window for the mouse cursor to be displayed in.
  1203.  
  1204.      Example:  CALL MouseWin(Ypos%, Xpos%, Ylen%, Xlen%)
  1205.  
  1206.      See Also:  IsMouse, MouseOff, MouseOn, MouseStat
  1207.      ---------------------------------------------------------------------
  1208.       MoveWin                      SUB-ROUTINE                  WINDO.PBU
  1209.      ---------------------------------------------------------------------
  1210.      Moves the current active windo on the screen.
  1211.  
  1212.      Example:  CALL MoveWin(Dir%)
  1213.                Where 1 - Right
  1214.                      2 - Left
  1215.                      3 - Down
  1216.                      4 - Up
  1217.  
  1218.      See Also:  OpenWin, NoShadow
  1219.      ---------------------------------------------------------------------
  1220.       NoShadow                     SUB-ROUTINE                  WINDO.PBU
  1221.      ---------------------------------------------------------------------
  1222.      Removes the shadow from the current windo.  (Required when
  1223.      moving or resizing windos)
  1224.  
  1225.      Example:  CALL NoShadow
  1226.  
  1227.      See Also:  AddShadow, ChangeWin, MoveWin
  1228.      ---------------------------------------------------------------------
  1229.       NumIn                        SUB-ROUTINE                 SCRNIO.PBU
  1230.      ---------------------------------------------------------------------
  1231.      Gets numeric input from user.
  1232.  
  1233.      Example:  CALL
  1234.      NumIn(Ypos%,Xpos%,Digits%,NumCol%,Hilite%,Answer#,Term$)
  1235.                Where Digits% = Numbers after decimal point
  1236.                NumCol% = Color of text after input
  1237.                Answer# = Double precision real number with input
  1238.                Term$ = Key used to terminate input
  1239.  
  1240.      See Also:  GetKey, MaskIn, TextEd, TextIn
  1241.      ---------------------------------------------------------------------
  1242.       NumOff                       SUB-ROUTINE                 SCRNIO.PBU
  1243.      ---------------------------------------------------------------------
  1244.      Toggles Num Lock off.
  1245.  
  1246.      Example:  CALL NumOff
  1247.  
  1248.      See Also:  NumOn
  1249.      ---------------------------------------------------------------------
  1250.       NumOn                        SUB-ROUTINE                 SCRNIO.PBU
  1251.      ---------------------------------------------------------------------
  1252.      Toggles Num Lock on.
  1253.  
  1254.      Example:  CALL NumOn
  1255.  
  1256.      See Also:  NumOff
  1257.      ---------------------------------------------------------------------
  1258.       NumRecs                      FUNCTION                     DOSIO.PBU
  1259.      ---------------------------------------------------------------------
  1260.      Returns the number of records within a random access file.
  1261.  
  1262.      Example:  Records%=NumRecs%(Filename$,RecordLength%)
  1263.  
  1264.      See Also:  Exist, GetRec, PutRec
  1265.      ---------------------------------------------------------------------
  1266.       NumStat                      FUNCTION                    SCRNIO.PBU
  1267.      ---------------------------------------------------------------------
  1268.      Returns true if Num Lock is on.
  1269.  
  1270.      Example:  IF NumStat% THEN Yep
  1271.  
  1272.      See Also:  NumOff, NumOn
  1273.      ---------------------------------------------------------------------
  1274.       OpenWin                      SUB-ROUTINE                  WINDO.PBU
  1275.      ---------------------------------------------------------------------
  1276.      Pops a window on the screen saving all contents underneath.
  1277.  
  1278.      Example:  CALL
  1279.                OpenWin(Ypos%,Xpos%,YLen%,Xlen%,Brdr%,BrC%,TxC%,Shd%,Zm%,Ns
  1280.                %) Where  Brdr% = Border selection (see Box)
  1281.                Where BrC% = The color attribute to print border
  1282.                Where TcC% = The color attribute for text
  1283.                Shd% = The placement of the shadow (see Box)
  1284.                Zm% = True - zoom the windo onto the screen
  1285.                Ns% = True - make noise when opening window
  1286.  
  1287.      See Also:  Box, CloseWin
  1288.      ---------------------------------------------------------------------
  1289.       PageFrame                    FUNCTION                     EMSIO.PBU
  1290.      ---------------------------------------------------------------------
  1291.      Returns the 64k segment of the page frame.
  1292.  
  1293.      Example:  PRINT "The PageFrame is located at";HEX$(PageFrame)
  1294.  
  1295.      See Also:  IsEMS, EMSStat, EMSVer
  1296.      ---------------------------------------------------------------------
  1297.       PutRec                       SUB-ROUTINE                  DOSIO.PBU
  1298.      ---------------------------------------------------------------------
  1299.      Puts a record into a file.
  1300.  
  1301.      Example:  CALL PutRec(Filename$,Record$,Record%,RecLength%)
  1302.  
  1303.      See Also:  Exist, GetRec, NumRecs
  1304.      ---------------------------------------------------------------------
  1305.       PutScrn                      SUB-ROUTINE                 SCRNIO.PBU
  1306.      ---------------------------------------------------------------------
  1307.      Puts a string created with GetScrn back onto the screen.
  1308.  
  1309.      Example: CALL PutScrn(Ypos%, Xpos%, Text$)
  1310.  
  1311.      See Also:  GetScrn
  1312.      ---------------------------------------------------------------------
  1313.       ReAttr                       SUB-ROUTINE                 SCRNIO.PBU
  1314.      ---------------------------------------------------------------------
  1315.      Changes the color attribute of any position on the screen.
  1316.  
  1317.      Example:  CALL ReAttr(Ypos%, Xpos%, Ylen%, Ypos%, NewColor%)
  1318.  
  1319.      See Also:  Attr, Fill, Recolor
  1320.      ---------------------------------------------------------------------
  1321.       Recolor                      SUB-ROUTINE                 SCRNIO.PBU
  1322.      ---------------------------------------------------------------------
  1323.      Changes the color attribute of all positions on the screen.
  1324.  
  1325.      Example:  CALL Recolor(Old%, New%)
  1326.                     Where Old% is the attribute on the screen you want
  1327.                      to change.
  1328.                     New% is the attribute on the screen to replace the Old%
  1329.                      with.
  1330.  
  1331.      See Also: Attr, Fill, ReAttr
  1332.      ---------------------------------------------------------------------
  1333.       Reverse                      FUNCTION                      TOOL.PBU
  1334.      ---------------------------------------------------------------------
  1335.      Reverse the order of any string.
  1336.  
  1337.      Example:  NewString$=Reverse$(OldString$)
  1338.  
  1339.      See Also:  DelChar, InsChar, LRotate, RRotate
  1340.      ---------------------------------------------------------------------
  1341.       RPad                         FUNCTION                      TOOL.PBU
  1342.      ---------------------------------------------------------------------
  1343.      Pads a string to the right to desired number of places with
  1344.      desired char.
  1345.  
  1346.      Example:  NewString$=RPad$(OldString$,80,32)
  1347.  
  1348.      See Also:  LPad, Trim
  1349.      ---------------------------------------------------------------------
  1350.       RRotate                      FUNCTION                      TOOL.PBU
  1351.      ---------------------------------------------------------------------
  1352.      Rotates all the charactors in a string to the right one
  1353.      position.
  1354.  
  1355.      Example:  NewString$=RRotate$(OldString$)
  1356.  
  1357.      See Also:  LRotate
  1358.      ---------------------------------------------------------------------
  1359.       RScroll                      SUB-ROUTINE                 SCRNIO.PBU
  1360.      ---------------------------------------------------------------------
  1361.      Scrolls any portion of the screen to the right.
  1362.  
  1363.      Example:  CALL RScroll(TopRow%,LeftCol%,BotRow%,RightCol%,Cols%)
  1364.  
  1365.      See Also:  LScroll, ScrollDN, ScrollUp, ScrollWin
  1366.      ---------------------------------------------------------------------
  1367.       ScrollDN                     SUB-ROUTINE                 SCRNIO.PBU
  1368.      ---------------------------------------------------------------------
  1369.      Scrolls any part of the screen down one line.
  1370.  
  1371.      Example:  CALL ScrollDN(Left%, Right%, Top%, Bottom%, Atr%)
  1372.  
  1373.      See Also:  ScrollUP, ScrollWin
  1374.      ---------------------------------------------------------------------
  1375.       ScrollOff                    SUB-ROUTINE                 SCRNIO.PBU
  1376.      ---------------------------------------------------------------------
  1377.      Toggles Scroll Lock off.
  1378.  
  1379.      Example:  CALL ScrollOff
  1380.  
  1381.      See Also:  ScrollOn, ScrollStat
  1382.      ---------------------------------------------------------------------
  1383.       ScrollOn                     SUB-ROUTINE                 SCRNIO.PBU
  1384.      ---------------------------------------------------------------------
  1385.      Toggles Scroll Lock on.
  1386.  
  1387.      Example:  CALL ScrollOn
  1388.  
  1389.      See Also:  ScrollOff, ScrollStat
  1390.      ---------------------------------------------------------------------
  1391.       ScrollStat                   SUB-ROUTINE                 SCRNIO.PBU
  1392.      ---------------------------------------------------------------------
  1393.      Returns true is Scroll Lock is on.
  1394.  
  1395.      Example:  IF ScrollStat% THEN Yep
  1396.  
  1397.      See Also:  ScrollOff, ScrollOn
  1398.      ---------------------------------------------------------------------
  1399.       ScrollUp                     SUB-ROUTINE                 SCRNIO.PBU
  1400.      ---------------------------------------------------------------------
  1401.      Scrolls any portion of the screen up one line.
  1402.  
  1403.      Example:  CALL ScrollUP(Left%, Right%, Top%, Bottom%, Atr%)
  1404.  
  1405.      See Also:  ScrollDN, ScrollWin
  1406.      ---------------------------------------------------------------------
  1407.       ScrollWin                    SUB-ROUTINE                  WINDO.PBU
  1408.      ---------------------------------------------------------------------
  1409.      Scrolls the current windo up, down, left or right.
  1410.  
  1411.      Example:  CALL ScrollWin(Dir%)
  1412.                Where 1 - Down
  1413.                      2 - Up
  1414.                      3 - Left
  1415.                      4 - Right
  1416.  
  1417.      See Also:  OpenWin, ScrollDN, ScrollUp
  1418.      ---------------------------------------------------------------------
  1419.       SetHandName                  SUB-ROUTINE                  EMSIO.PBU
  1420.      ---------------------------------------------------------------------
  1421.      Assigns an 8 charactor name to an EMS Handle
  1422.  
  1423.      Example:  CALL SetHandName(Handle%, HandName$, ErrCode%)
  1424.  
  1425.      See Also:  CloseHandle, EMSHandle, FindHand, GetHandName, Handles,
  1426.      IsEMS
  1427.      ---------------------------------------------------------------------
  1428.       SetText                      SUB-ROUTINE                 SCRNIO.PBU
  1429.      ---------------------------------------------------------------------
  1430.      Sets cursor color from attribute.
  1431.  
  1432.      CALL SetText(Atr%)
  1433.  
  1434.      See Also:  Attr, Back, Fore
  1435.      ---------------------------------------------------------------------
  1436.       ShiftAlpha                   FUNCTION                      TOOL.PBU
  1437.      ---------------------------------------------------------------------
  1438.      Shifts alpha charactors ina string over one charator.
  1439.  
  1440.      Example:  Shifted$=ShiftAlpha$("ABcd",2)
  1441.                Where Shifted$ would Equal "CDef"
  1442.      ---------------------------------------------------------------------
  1443.       StuffKey                     SUB-ROUTINE                 SCRNIO.PBU
  1444.      ---------------------------------------------------------------------
  1445.      Stuffs the keyboard buffer with up to 16 charactors.  May not
  1446.      work with
  1447.        many keyboard enhancers.
  1448.  
  1449.      Example:  CALL StuffKey(Text$)
  1450.  
  1451.      See Also:  ClrKBD, GetKey, MouseKey
  1452.      ---------------------------------------------------------------------
  1453.       TextEd                       SUB-ROUTINE                 SCRNIO.PBU
  1454.      ---------------------------------------------------------------------
  1455.      Lets user edit the chars within a string.
  1456.  
  1457.      Example:  CALL TextEd(Ypos%, Xpos%, Cpos%, TxC%, Hl%, Txt$, Term$)
  1458.                Where Cpos% = Cursor position within the string
  1459.                      TxC% = The normal text color
  1460.                      Hl% = The hilighted text color
  1461.                      Txt$ = The text to edit
  1462.                      Term$ = The terminating key
  1463.  
  1464.      See Also:  GetKey, MaskIn, NumIn, TextIn
  1465.      ---------------------------------------------------------------------
  1466.       TextIn                       SUB-ROUTINE                 SCRNIO.PBU
  1467.      ---------------------------------------------------------------------
  1468.      Gets text input from the user.
  1469.  
  1470.      Example:  CALL TextIn(Ypos%, Xpos%, Max%, TxC%, Hl%, Txt$, Term$)
  1471.                Where Max% = The maximum charactors to allow in Txt$
  1472.  
  1473.      See Also:  GetKey, MaskIn, NumIn, TextEd
  1474.      ---------------------------------------------------------------------
  1475.       Title                        SUB-ROUTINE                  WINDO.PBU
  1476.      ---------------------------------------------------------------------
  1477.      Displays a title on current windo in a desired color.
  1478.  
  1479.      Example:  CALL Title(Title$, Position%)
  1480.                Where Position% = Placement of title on windo
  1481.                      1 - Top Left
  1482.                      2 - Top Center
  1483.                      3 - Top Right
  1484.                      4 - Bottom Left
  1485.                      5 - Bottom Center
  1486.                      6 - Bottom Right
  1487.  
  1488.      See Also:  OpenWin, WPrint, WPrintC
  1489.      ---------------------------------------------------------------------
  1490.       Trim                         FUNCTION                      TOOL.PBU
  1491.      ---------------------------------------------------------------------
  1492.      Trims the spaces from both ends of a string.
  1493.  
  1494.      Example:  NewString$=Trim$(OldString$)
  1495.  
  1496.      See Also:  LPad, RPad
  1497.      ---------------------------------------------------------------------
  1498.       UnCompress                   FUNCTION                      TOOL.PBU
  1499.      ---------------------------------------------------------------------
  1500.      UnCompresses a previously compressed string.
  1501.  
  1502.      Example:  Text$=UnCompress$(Secret$)
  1503.  
  1504.      See Also:  Compress, Decrypt, Encrypt, ShiftAlpha
  1505.      ---------------------------------------------------------------------
  1506.       UnMapPage                    SUB-ROUTINE                  EMSIO.PBU
  1507.      ---------------------------------------------------------------------
  1508.      UnMaps pageframe to back to logical page location.
  1509.  
  1510.      Example:  CALL UnMapPage (Handle%, ErrCode%)
  1511.  
  1512.      See Also:  EMSHandle, FreePages, Handles, IsEMS, MapPage, PageFrame
  1513.      ---------------------------------------------------------------------
  1514.       VidAddr                      FUNCTION                    SCRNIO.PBU
  1515.      ---------------------------------------------------------------------
  1516.      Returns the segment for video I/O on active display.
  1517.  
  1518.      Example:  PRINT"The video segment is located at";HEX$(VidAddr%)
  1519.  
  1520.      See Also:  CurDisplay, VidMode
  1521.      ---------------------------------------------------------------------
  1522.       VidMode                      FUNCTION                    SCRNIO.PBU
  1523.      ---------------------------------------------------------------------
  1524.      Returns the video mode for current display.
  1525.  
  1526.      Example:  PRINT"Current Video Mode is";VidMode%
  1527.  
  1528.      See Also:  CurDisplay, VidAddr
  1529.      ---------------------------------------------------------------------
  1530.       WinColor                     SUB-ROUTINE                  WINDO.PBU
  1531.      ---------------------------------------------------------------------
  1532.      Changes the text color of the current windo.
  1533.  
  1534.      Example:  CALL WinColor(Atr%)
  1535.  
  1536.      See Also:  Attr, Back, Fore, OpenWin, WPrint, WPrintC
  1537.      ---------------------------------------------------------------------
  1538.       WPrint                       SUB-ROUTINE                  WINDO.PBU
  1539.      ---------------------------------------------------------------------
  1540.      Prints a string within the current windo in desired color.
  1541.  
  1542.      Example:  CALL WPrint(Ypos%, Xpos%, Text$, Atr%)
  1543.                Where Ypos% and Xpos% are relative to the top right corner
  1544.                      of the window.
  1545.  
  1546.      See Also:  OpenWin, WPrintC
  1547.      ---------------------------------------------------------------------
  1548.       WPrintC                      SUB-ROUTINE                  WINDO.PBU
  1549.      ---------------------------------------------------------------------
  1550.      Prints a string centered wihin the current windo in desired
  1551.      color.
  1552.  
  1553.      Example:  CALL WPrintC(Ypos%, Text$, Atr%)
  1554.  
  1555.      See Also:  OpenWin, WPrint
  1556.      ---------------------------------------------------------------------
  1557.       ZoomBox                      SUB-ROUTINE                  WINDO.PBU
  1558.      ---------------------------------------------------------------------
  1559.      Zooms a box onto the screen with option for noise.
  1560.  
  1561.      Example:  CALL ZoomBox(Ypos%, Xpos%, Ylen%, Xlen%, BrDr%, Sh%,
  1562.      BrClr%, TxC%)
  1563.  
  1564.      See Also:  Box, OpenWin
  1565.